#![no_std]

extern crate alloc;

pub use parity_scale_codec as ps_codec;
use ps_codec::{Decode, Encode};

#[cfg(feature = "kernel")]
pub mod kernel_exclusive;

#[cfg_attr(feature = "user_space", derive(Encode))]
#[cfg_attr(feature = "kernel", derive(Decode))]
pub struct NegotiationContext {
    pub addr: [u8; 4],
    pub port: u16,
    pub protocols: alloc::vec::Vec<alloc::string::String>,
}

// #[cfg(test)]
// mod tests {
//     use super::*;

//     #[test]
//     fn it_works() {}
// }
